//void, Obj owner

int charges;

if (!owner.AsUnit.IsValid)
	return;

while (1) {
	Sleep(3000);
	charges = GetUseCount();
	if (owner.AsUnit.food < owner.AsUnit.maxfood && charges >= 100) {
		charges -= 95;
		owner.AsUnit.SetFood(20);
		//CreateFeedback("Heal", owner.AsUnit);
	} else
		if (charges < 500)
			charges += 5;
	if (charges > 500)
		charges = 500;
	ItemUsed(GetUseCount() - charges);
}
